Skip to content

feat(outlook): support explicit shared mailbox users - #314

Draft
kai-osthoff wants to merge 2 commits into
inovex:mainfrom
kai-osthoff:feat/313-outlook-explicit-mailbox
Draft

feat(outlook): support explicit shared mailbox users#314
kai-osthoff wants to merge 2 commits into
inovex:mainfrom
kai-osthoff:feat/313-outlook-explicit-mailbox

Conversation

@kai-osthoff

Copy link
Copy Markdown

Summary

  • add optional Outlook config.user support for shared or delegated mailbox UPNs and Entra object IDs
  • preserve /me paths and legacy calendar hashes when the option is absent
  • centralize the Microsoft Graph calendar path for list, create, update, and delete
  • configure Outlook before OAuth setup so explicit mailboxes request Calendars.ReadWrite.Shared in the handler-owned authorization URL
  • document delegated Graph permissions, Exchange mailbox delegation, and reauthentication requirements

Validation

  • go test ./internal/adapter/outlook_http ./internal/adapter -race -count=1
  • make test
  • go vet $(go list ./... | grep -v /vendor/)
  • go run honnef.co/go/tools/cmd/staticcheck@2025.1.1 ./...
  • go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.5.0 run
  • make build
  • HTTP transport tests cover /me and escaped /users/{user} paths across list/create/update/delete
  • lifecycle tests parse the actual authorization URL and assert the shared scope is conditional

Real Graph check

Redacted local dry-runs exercised both normal-user and explicit Shared Mailbox configurations using temporary config/auth copies; production bridge files were not changed. The pre-feature cached token can reach delegated calendar data but Graph returns ErrorAccessDenied for Shared Mailbox writes and extension expansion. A controlled test event was removed after every attempt, leaving no residue.

The PR is draft until the delegated account completes interactive authorization for the newly requested Calendars.ReadWrite.Shared scope and the controlled create/update/delete checks in both directions finish at 0/0/0.

Closes #313

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Outlook adapter: support shared/delegated mailboxes via explicit Graph user path

1 participant